Fix assertion when using multiple data imports #2000
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fails an assertion:
Assertion failed: (var < fr->bc->nlocals), function frame_local_var, file src/execute.c, line 104.
The issue appears to be that we don't properly increment the number of local vars defined in the frame where we
STORE_GLOBAL
, which means we can easily have more vars stored than we expect in our assertions. The code forSTOREV
does increment this, so I duplicated that logic intoSTORE_GLOBAL
. I can't think of any ways that this might cause issues. @nicowilliams can you?